iT邦幫忙

2024 iThome 鐵人賽

DAY 20
0
JavaScript

30天享用JavaScript概念三明治系列 第 20

Day20:比較運算子

  • 分享至 

  • xImage
  •  

開始寫比較運算子前,想補充指派運算子以及相等運算子:
昨天提到兩個等號==、三個等號===是用來做比較用的。那一個等號=呢?


「=」指派運算子 (P2-27)

  • 撰寫程式碼時常常會使用=等號。在JavaScript中,一個等號不是數學的相等,而是給值,把右邊的值指派給左邊的變數的意思。
     let a = 2;
    

物件與嚴格相等運算子 (P2-38)

  • 在JavaScript裡,基礎型別(字串、數值、布林值、undefinednull)都能被概稱為「純值」,意思是該數值單純就是一個值。eg.數值1就是1,不會有其他意思了。
  • 但物件型別(陣列、物件)是特別的。
  • 物件被宣告後,給值給變數時,變數儲存的是物件存放的記憶體位置,而不是整個物件內容
  • 物件型別被用於相等運算子的比較時,比較的不是物件內容,而是物件存放記憶體的位置。於是按規則以為結果會回傳true,其實是回傳false
    console.log({} === {}); // false
    console.log([] === []); // false
    
  • 驗證範例:在某個物件宣告(創造)後,物件記憶體位置會存放在變數a,然後再將存放這個物件記憶體位置的變數a內容指派給b,於是ab的內容便在同一個記憶體位置,因此得到預期的true
    let a = {}; //大括號宣告物件
    let b = a;
    console.log(a === b); // true
    

比較運算子 (P2-40)

  • 用來比較兩個值或運算式之間的結果。回傳true(成立)或false(不成立)。

== 等於
!= 不等於
=== 嚴格等於
!== 嚴格不等於
> 大於
>= 大於等於
< 小於
<=小於等於

備註:=> 不是運算子,是箭頭函式

  • 大於、小於一般用在數學判斷,通常與數值型別一起使用。
    2 > 1 ; // true
    2 >= 2; // true
    2 <= 1; // true
    

參考資料:
運算式與運算子


上一篇
Day19:相等運算子
下一篇
Day21:if、else判斷式
系列文
30天享用JavaScript概念三明治30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言